package com.wrupple.muba.common.shared;

import com.wrupple.muba.common.shared.State.ContextAware;

public interface Process<I, O> extends ContextAware<I, O> ,Iterable<State<?,?>> {

	public void addState(State<?, ?> state);
	
	public void addAll(Process<?,?> process);

	public com.wrupple.muba.common.shared.State.Context getContext();

	public void restore(Context context);

	public void suspend();
}
